{
  "cells": [
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "view-in-github"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/TexasInstruments/edgeai-tidl-tools/blob/master/examples/jupyter_notebooks/colab/ti_edgeai_tidl_tools_am69a.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "0m9iB85BtM1J",
        "outputId": "96e3baa6-3ae0-4659-ecaa-2faf18749f6e"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Cloning into 'edgeai-tidl-tools'...\n",
            "remote: Enumerating objects: 501, done.\u001b[K\n",
            "remote: Counting objects: 100% (501/501), done.\u001b[K\n",
            "remote: Compressing objects: 100% (363/363), done.\u001b[K\n",
            "remote: Total 501 (delta 206), reused 331 (delta 128), pack-reused 0\u001b[K\n",
            "Receiving objects: 100% (501/501), 7.71 MiB | 28.28 MiB/s, done.\n",
            "Resolving deltas: 100% (206/206), done.\n"
          ]
        }
      ],
      "source": [
        "!git clone --single-branch --depth 1 --branch master https://github.com/TexasInstruments/edgeai-tidl-tools.git"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "javZSMuxtgUV",
        "outputId": "bf8d3607-9392-4b44-cccc-c430503d59ff"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "X64 Architecture\n",
            "Installing python packages...\n",
            "Collecting pybind11[global]\n",
            "  Downloading pybind11-2.11.1-py3-none-any.whl (227 kB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m227.7/227.7 kB\u001b[0m \u001b[31m5.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hCollecting pybind11-global==2.11.1 (from pybind11[global])\n",
            "  Downloading pybind11_global-2.11.1-py3-none-any.whl (412 kB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m412.2/412.2 kB\u001b[0m \u001b[31m16.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hInstalling collected packages: pybind11-global, pybind11\n",
            "Successfully installed pybind11-2.11.1 pybind11-global-2.11.1\n",
            "Collecting onnx==1.9.0 (from -r ./requirements_pc.txt (line 4))\n",
            "  Downloading https://software-dl.ti.com/jacinto7/esd/tidl-tools/09_00_00_02/OSRT_TOOLS/X86_64_LINUX/UBUNTU_22_04/onnx-1.9.0-cp310-cp310-linux_x86_64.whl (11.6 MB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.6/11.6 MB\u001b[0m \u001b[31m6.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hCollecting git+https://github.com/TexasInstruments/edgeai-caffe2onnx (from -r ./requirements_pc.txt (line 16))\n",
            "  Cloning https://github.com/TexasInstruments/edgeai-caffe2onnx to /tmp/pip-req-build-vqct9oru\n",
            "  Running command git clone --filter=blob:none --quiet https://github.com/TexasInstruments/edgeai-caffe2onnx /tmp/pip-req-build-vqct9oru\n",
            "  Resolved https://github.com/TexasInstruments/edgeai-caffe2onnx to commit b7e73feed3bbc5ddbdf25b87af93a2bae596055d\n",
            "  Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
            "Collecting numpy==1.23.0 (from -r ./requirements_pc.txt (line 1))\n",
            "  Downloading numpy-1.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.0 MB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m17.0/17.0 MB\u001b[0m \u001b[31m72.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hRequirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from -r ./requirements_pc.txt (line 2)) (6.0.1)\n",
            "Collecting protobuf==3.19.4 (from -r ./requirements_pc.txt (line 3))\n",
            "  Downloading protobuf-3.19.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m60.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hRequirement already satisfied: torch in /usr/local/lib/python3.10/dist-packages (from -r ./requirements_pc.txt (line 5)) (2.0.1+cu118)\n",
            "Collecting timm (from -r ./requirements_pc.txt (line 6))\n",
            "  Downloading timm-0.9.7-py3-none-any.whl (2.2 MB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m31.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hCollecting tflite (from -r ./requirements_pc.txt (line 7))\n",
            "  Downloading tflite-2.10.0-py2.py3-none-any.whl (123 kB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.6/123.6 kB\u001b[0m \u001b[31m13.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hRequirement already satisfied: pillow in /usr/local/lib/python3.10/dist-packages (from -r ./requirements_pc.txt (line 8)) (9.4.0)\n",
            "Collecting flatbuffers==1.12.0 (from -r ./requirements_pc.txt (line 9))\n",
            "  Downloading flatbuffers-1.12-py2.py3-none-any.whl (15 kB)\n",
            "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from -r ./requirements_pc.txt (line 10)) (2.31.0)\n",
            "Requirement already satisfied: opencv-python in /usr/local/lib/python3.10/dist-packages (from -r ./requirements_pc.txt (line 11)) (4.8.0.76)\n",
            "Requirement already satisfied: pytest in /usr/local/lib/python3.10/dist-packages (from -r ./requirements_pc.txt (line 12)) (7.4.1)\n",
            "Requirement already satisfied: graphviz in /usr/local/lib/python3.10/dist-packages (from -r ./requirements_pc.txt (line 13)) (0.20.1)\n",
            "Collecting dataclasses (from -r ./requirements_pc.txt (line 14))\n",
            "  Downloading dataclasses-0.6-py3-none-any.whl (14 kB)\n",
            "Collecting gluoncv (from -r ./requirements_pc.txt (line 15))\n",
            "  Downloading gluoncv-0.10.5.post0-py2.py3-none-any.whl (1.3 MB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m72.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hRequirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from onnx==1.9.0->-r ./requirements_pc.txt (line 4)) (1.16.0)\n",
            "Requirement already satisfied: typing-extensions>=3.6.2.1 in /usr/local/lib/python3.10/dist-packages (from onnx==1.9.0->-r ./requirements_pc.txt (line 4)) (4.5.0)\n",
            "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch->-r ./requirements_pc.txt (line 5)) (3.12.2)\n",
            "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch->-r ./requirements_pc.txt (line 5)) (1.12)\n",
            "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch->-r ./requirements_pc.txt (line 5)) (3.1)\n",
            "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch->-r ./requirements_pc.txt (line 5)) (3.1.2)\n",
            "Requirement already satisfied: triton==2.0.0 in /usr/local/lib/python3.10/dist-packages (from torch->-r ./requirements_pc.txt (line 5)) (2.0.0)\n",
            "Requirement already satisfied: cmake in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch->-r ./requirements_pc.txt (line 5)) (3.27.4.1)\n",
            "Requirement already satisfied: lit in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch->-r ./requirements_pc.txt (line 5)) (16.0.6)\n",
            "Requirement already satisfied: torchvision in /usr/local/lib/python3.10/dist-packages (from timm->-r ./requirements_pc.txt (line 6)) (0.15.2+cu118)\n",
            "Collecting huggingface-hub (from timm->-r ./requirements_pc.txt (line 6))\n",
            "  Downloading huggingface_hub-0.17.3-py3-none-any.whl (295 kB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m295.0/295.0 kB\u001b[0m \u001b[31m27.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hCollecting safetensors (from timm->-r ./requirements_pc.txt (line 6))\n",
            "  Downloading safetensors-0.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m73.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hRequirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->-r ./requirements_pc.txt (line 10)) (3.2.0)\n",
            "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->-r ./requirements_pc.txt (line 10)) (3.4)\n",
            "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->-r ./requirements_pc.txt (line 10)) (2.0.4)\n",
            "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->-r ./requirements_pc.txt (line 10)) (2023.7.22)\n",
            "Requirement already satisfied: iniconfig in /usr/local/lib/python3.10/dist-packages (from pytest->-r ./requirements_pc.txt (line 12)) (2.0.0)\n",
            "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from pytest->-r ./requirements_pc.txt (line 12)) (23.1)\n",
            "Requirement already satisfied: pluggy<2.0,>=0.12 in /usr/local/lib/python3.10/dist-packages (from pytest->-r ./requirements_pc.txt (line 12)) (1.3.0)\n",
            "Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /usr/local/lib/python3.10/dist-packages (from pytest->-r ./requirements_pc.txt (line 12)) (1.1.3)\n",
            "Requirement already satisfied: tomli>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from pytest->-r ./requirements_pc.txt (line 12)) (2.0.1)\n",
            "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from gluoncv->-r ./requirements_pc.txt (line 15)) (4.66.1)\n",
            "Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from gluoncv->-r ./requirements_pc.txt (line 15)) (3.7.1)\n",
            "Collecting portalocker (from gluoncv->-r ./requirements_pc.txt (line 15))\n",
            "  Downloading portalocker-2.8.2-py3-none-any.whl (17 kB)\n",
            "Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from gluoncv->-r ./requirements_pc.txt (line 15)) (1.11.2)\n",
            "Collecting yacs (from gluoncv->-r ./requirements_pc.txt (line 15))\n",
            "  Downloading yacs-0.1.8-py3-none-any.whl (14 kB)\n",
            "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from gluoncv->-r ./requirements_pc.txt (line 15)) (1.5.3)\n",
            "Collecting autocfg (from gluoncv->-r ./requirements_pc.txt (line 15))\n",
            "  Downloading autocfg-0.0.8-py3-none-any.whl (13 kB)\n",
            "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from huggingface-hub->timm->-r ./requirements_pc.txt (line 6)) (2023.6.0)\n",
            "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch->-r ./requirements_pc.txt (line 5)) (2.1.3)\n",
            "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->gluoncv->-r ./requirements_pc.txt (line 15)) (1.1.0)\n",
            "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->gluoncv->-r ./requirements_pc.txt (line 15)) (0.11.0)\n",
            "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->gluoncv->-r ./requirements_pc.txt (line 15)) (4.42.1)\n",
            "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->gluoncv->-r ./requirements_pc.txt (line 15)) (1.4.5)\n",
            "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->gluoncv->-r ./requirements_pc.txt (line 15)) (3.1.1)\n",
            "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib->gluoncv->-r ./requirements_pc.txt (line 15)) (2.8.2)\n",
            "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->gluoncv->-r ./requirements_pc.txt (line 15)) (2023.3.post1)\n",
            "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch->-r ./requirements_pc.txt (line 5)) (1.3.0)\n",
            "Building wheels for collected packages: caffe2onnx\n",
            "  Building wheel for caffe2onnx (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
            "  Created wheel for caffe2onnx: filename=caffe2onnx-1.0.2-py3-none-any.whl size=98838 sha256=4082543917fd16983fdff20846c62dd391cc5d12649aa067bed39a463897c1de\n",
            "  Stored in directory: /tmp/pip-ephem-wheel-cache-4wekpn1j/wheels/7d/61/53/92a634cbbb23f4c9853c5dc4a4a29a6046150d768973b746bb\n",
            "Successfully built caffe2onnx\n",
            "Installing collected packages: safetensors, flatbuffers, dataclasses, yacs, protobuf, portalocker, numpy, autocfg, tflite, onnx, huggingface-hub, caffe2onnx, gluoncv, timm\n",
            "  Attempting uninstall: flatbuffers\n",
            "    Found existing installation: flatbuffers 23.5.26\n",
            "    Uninstalling flatbuffers-23.5.26:\n",
            "      Successfully uninstalled flatbuffers-23.5.26\n",
            "  Attempting uninstall: protobuf\n",
            "    Found existing installation: protobuf 3.20.3\n",
            "    Uninstalling protobuf-3.20.3:\n",
            "      Successfully uninstalled protobuf-3.20.3\n",
            "  Attempting uninstall: numpy\n",
            "    Found existing installation: numpy 1.23.5\n",
            "    Uninstalling numpy-1.23.5:\n",
            "      Successfully uninstalled numpy-1.23.5\n",
            "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
            "google-api-core 2.11.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.\n",
            "google-cloud-bigquery 3.10.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.\n",
            "google-cloud-bigquery-connection 1.12.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.\n",
            "google-cloud-bigquery-storage 2.22.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.\n",
            "google-cloud-datastore 2.15.2 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.\n",
            "google-cloud-firestore 2.11.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.\n",
            "google-cloud-functions 1.13.2 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.\n",
            "google-cloud-language 2.9.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.\n",
            "google-cloud-translate 3.11.3 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.\n",
            "googleapis-common-protos 1.60.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.\n",
            "grpc-google-iam-v1 0.12.6 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.\n",
            "tensorboard 2.13.0 requires protobuf>=3.19.6, but you have protobuf 3.19.4 which is incompatible.\n",
            "tensorflow 2.13.0 requires flatbuffers>=23.1.21, but you have flatbuffers 1.12 which is incompatible.\n",
            "tensorflow 2.13.0 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 3.19.4 which is incompatible.\n",
            "tensorflow-datasets 4.9.2 requires protobuf>=3.20, but you have protobuf 3.19.4 which is incompatible.\n",
            "tensorflow-hub 0.14.0 requires protobuf>=3.19.6, but you have protobuf 3.19.4 which is incompatible.\n",
            "tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 3.19.4 which is incompatible.\u001b[0m\u001b[31m\n",
            "\u001b[0mSuccessfully installed autocfg-0.0.8 caffe2onnx-1.0.2 dataclasses-0.6 flatbuffers-1.12 gluoncv-0.10.5.post0 huggingface-hub-0.17.3 numpy-1.23.0 onnx-1.9.0 portalocker-2.8.2 protobuf-3.19.4 safetensors-0.3.3 tflite-2.10.0 timm-0.9.7 yacs-0.1.8\n",
            "Requirement already satisfied: pybind11[global] in /usr/local/lib/python3.10/dist-packages (2.11.1)\n",
            "Requirement already satisfied: pybind11-global==2.11.1 in /usr/local/lib/python3.10/dist-packages (from pybind11[global]) (2.11.1)\n",
            "Installing python osrt packages...\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.4/1.4 MB\u001b[0m \u001b[31m4.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m53.1/53.1 MB\u001b[0m \u001b[31m9.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.1/5.1 MB\u001b[0m \u001b[31m8.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.5/2.5 MB\u001b[0m \u001b[31m5.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hDownloading tidl tools for AM69A SOC ...\n"
          ]
        }
      ],
      "source": [
        "!export SOC=am69a && cd edgeai-tidl-tools && source ./setup.sh  --skip_arm_gcc_download --skip_cpp_deps"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "pcAA4W3iuXLr",
        "outputId": "6d2790d4-37ba-4d22-f208-246cb6cbcbd8"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Running 1 Models - ['cl-tfl-mobilenet_v1_1.0_224']\n",
            "\n",
            "\n",
            "Running_Model :  cl-tfl-mobilenet_v1_1.0_224\n",
            "Downloading   ../../../models/public/mobilenet_v1_1.0_224.tflite\n",
            "/content/edgeai-tidl-tools/models/public/mobilenet_v1_1.0_224.tflite\n",
            "\n",
            " Preliminary number of subgraphs:1 , 34 nodes delegated out of 34 nodes \n",
            " \n",
            "Warning : Requested Output Data Convert Layer is not Added to the network, It is currently not Optimal\n",
            "\n",
            " ************** Frame index 1 : Running float import ************* \n",
            "****************************************************\n",
            "**                ALL MODEL CHECK PASSED          **\n",
            "****************************************************\n",
            "\n",
            "The soft limit is 2048\n",
            "The hard limit is 2048\n",
            "MEM: Init ... !!!\n",
            "MEM: Init ... Done !!!\n",
            " 0.0s:  VX_ZONE_INIT:Enabled\n",
            " 0.14s:  VX_ZONE_ERROR:Enabled\n",
            " 0.18s:  VX_ZONE_WARNING:Enabled\n",
            " 0.3723s:  VX_ZONE_INIT:[tivxInit:185] Initialization Done !!!\n",
            "\n",
            " ************ Frame index 1 : Running float inference **************** \n",
            "\n",
            " ************ Frame index 2 : Running fixed point mode for calibration **************** \n",
            "Empty prototxt path, running calibration\n",
            "\n",
            "~~~~~Running TIDL in PC emulation mode to collect Activations range for each layer~~~~~\n",
            "\n",
            "Processing config file #0 : /content/edgeai-tidl-tools/model-artifacts/cl-tfl-mobilenet_v1_1.0_224/tempDir/86_tidl_io_.qunat_stats_config.txt \n",
            " Freeing memory for user provided Net\n",
            " ----------------------- TIDL Process with REF_ONLY FLOW ------------------------\n",
            "\n",
            "#    0 . .. T    2535.85  .... ..... ... .... .....\n",
            "#    1 . .. T    4100.36  .... ..... ... .... .....\n",
            " \n",
            " \n",
            " *****************   Calibration iteration number 0 started ************************ \n",
            " \n",
            " \n",
            " \n",
            "\n",
            "~~~~~Running TIDL in PC emulation mode to collect Activations range for each layer~~~~~\n",
            "\n",
            "Processing config file #0 : /content/edgeai-tidl-tools/model-artifacts/cl-tfl-mobilenet_v1_1.0_224/tempDir/86_tidl_io_.qunat_stats_config.txt \n",
            " Freeing memory for user provided Net\n",
            " ----------------------- TIDL Process with REF_ONLY FLOW ------------------------\n",
            "\n",
            "#    0 . .. T    2351.43  .... ..... ... .... .....\n",
            "#    1 . .. T    1894.06  .... ..... ... .... .....\n",
            " \n",
            " \n",
            " *****************   Calibration iteration number 0 completed ************************ \n",
            " \n",
            " \n",
            " \n",
            "\n",
            " \n",
            " \n",
            " *****************   Calibration iteration number 1 started ************************ \n",
            " \n",
            " \n",
            " \n",
            "\n",
            "~~~~~Running TIDL in PC emulation mode to collect Activations range for each layer~~~~~\n",
            "\n",
            "Processing config file #0 : /content/edgeai-tidl-tools/model-artifacts/cl-tfl-mobilenet_v1_1.0_224/tempDir/86_tidl_io_.qunat_stats_config.txt \n",
            " Freeing memory for user provided Net\n",
            " ----------------------- TIDL Process with REF_ONLY FLOW ------------------------\n",
            "\n",
            "#    0 . .. T    1905.93  .... ..... ... .... .....\n",
            "#    1 . .. T    1896.85  .... ..... ... .... .....\n",
            " \n",
            " \n",
            " *****************   Calibration iteration number 1 completed ************************ \n",
            " \n",
            " \n",
            " \n",
            "\n",
            " \n",
            " \n",
            " *****************   Calibration iteration number 2 started ************************ \n",
            " \n",
            " \n",
            " \n",
            "\n",
            "~~~~~Running TIDL in PC emulation mode to collect Activations range for each layer~~~~~\n",
            "\n",
            "Processing config file #0 : /content/edgeai-tidl-tools/model-artifacts/cl-tfl-mobilenet_v1_1.0_224/tempDir/86_tidl_io_.qunat_stats_config.txt \n",
            " Freeing memory for user provided Net\n",
            " ----------------------- TIDL Process with REF_ONLY FLOW ------------------------\n",
            "\n",
            "#    0 . .. T    1912.25  .... ..... ... .... .....\n",
            "#    1 . .. T    3144.79  .... ..... ... .... .....\n",
            " \n",
            " \n",
            " *****************   Calibration iteration number 2 completed ************************ \n",
            " \n",
            " \n",
            " \n",
            "\n",
            " \n",
            " \n",
            " *****************   Calibration iteration number 3 started ************************ \n",
            " \n",
            " \n",
            " \n",
            "\n",
            "~~~~~Running TIDL in PC emulation mode to collect Activations range for each layer~~~~~\n",
            "\n",
            "Processing config file #0 : /content/edgeai-tidl-tools/model-artifacts/cl-tfl-mobilenet_v1_1.0_224/tempDir/86_tidl_io_.qunat_stats_config.txt \n",
            " Freeing memory for user provided Net\n",
            " ----------------------- TIDL Process with REF_ONLY FLOW ------------------------\n",
            "\n",
            "#    0 . .. T    3261.34  .... ..... ... .... .....\n",
            "#    1 . .. T    1904.88  .... ..... ... .... .....\n",
            " \n",
            " \n",
            " *****************   Calibration iteration number 3 completed ************************ \n",
            " \n",
            " \n",
            " \n",
            "\n",
            " \n",
            " \n",
            " *****************   Calibration iteration number 4 started ************************ \n",
            " \n",
            " \n",
            " \n",
            "\n",
            "~~~~~Running TIDL in PC emulation mode to collect Activations range for each layer~~~~~\n",
            "\n",
            "Processing config file #0 : /content/edgeai-tidl-tools/model-artifacts/cl-tfl-mobilenet_v1_1.0_224/tempDir/86_tidl_io_.qunat_stats_config.txt \n",
            " Freeing memory for user provided Net\n",
            " ----------------------- TIDL Process with REF_ONLY FLOW ------------------------\n",
            "\n",
            "#    0 . .. T    1904.27  .... ..... ... .... .....\n",
            "#    1 . .. T    1890.41  .... ..... ... .... .....\n",
            " \n",
            " \n",
            " *****************   Calibration iteration number 4 completed ************************ \n",
            " \n",
            " \n",
            " \n",
            "\n",
            "------------------ Network Compiler Traces -----------------------------\n",
            "NC running for device: 1\n",
            "Running with OTF buffer optimizations\n",
            "successful Memory allocation\n",
            "****************************************************\n",
            "**                ALL MODEL CHECK PASSED          **\n",
            "****************************************************\n",
            "\n",
            "\n",
            " Final number of subgraphs:1 , 34 nodes delegated to accelerator \n",
            " \n",
            "\n",
            " \n",
            "Completed_Model :     1, Name : cl-tfl-mobilenet_v1_1.0_224                       , Total time :   18322.64, Offload Time :       0.00 , DDR RW MBs : 18446744073709.55, Output File : py_out_cl-tfl-mobilenet_v1_1.0_224_ADE_val_00001801.jpg\n",
            " \n",
            " \n",
            "MEM: Deinit ... !!!\n",
            "MEM: Alloc's: 26 alloc's of 101564424 bytes \n",
            "MEM: Free's : 26 free's  of 101564424 bytes \n",
            "MEM: Open's : 0 allocs  of 0 bytes \n",
            "MEM: Deinit ... Done !!!\n"
          ]
        }
      ],
      "source": [
        "!export SOC=am69a && \\\n",
        "export LD_LIBRARY_PATH=/content/edgeai-tidl-tools/tidl_tools && \\\n",
        "export TIDL_TOOLS_PATH=/content/edgeai-tidl-tools/tidl_tools && \\\n",
        "cd ./edgeai-tidl-tools/examples/osrt_python/tfl && \\\n",
        "python3 tflrt_delegate.py -c -m cl-tfl-mobilenet_v1_1.0_224"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "QlA5XCkfxPjE",
        "outputId": "e124a5db-1d0e-4e26-f83d-fd00bb4bd191"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Running 1 Models - ['cl-tfl-mobilenet_v1_1.0_224']\n",
            "\n",
            "\n",
            "Running_Model :  cl-tfl-mobilenet_v1_1.0_224\n",
            "\n",
            " Number of subgraphs:1 , 34 nodes delegated out of 34 nodes \n",
            " \n",
            "The soft limit is 2048\n",
            "The hard limit is 2048\n",
            "MEM: Init ... !!!\n",
            "MEM: Init ... Done !!!\n",
            " 0.0s:  VX_ZONE_INIT:Enabled\n",
            " 0.23s:  VX_ZONE_ERROR:Enabled\n",
            " 0.27s:  VX_ZONE_WARNING:Enabled\n",
            " 0.4002s:  VX_ZONE_INIT:[tivxInit:185] Initialization Done !!!\n",
            "\n",
            " ,  0  0.691726  warplane, military plane ,,  1  0.181373  missile ,,  2  0.109571  projectile, missile ,,  3  0.006352  cannon ,,  4  0.005370  aircraft carrier, carrier, flattop, attack aircraft carrier ,\n",
            "\n",
            "Saving image to  ../../../output_images/\n",
            "\n",
            " \n",
            "Completed_Model :     1, Name : cl-tfl-mobilenet_v1_1.0_224                       , Total time :    3102.22, Offload Time :    3102.21 , DDR RW MBs : 18446744073709.55, Output File : py_out_cl-tfl-mobilenet_v1_1.0_224_airshow.jpg\n",
            " \n",
            " \n",
            "MEM: Deinit ... !!!\n",
            "MEM: Alloc's: 26 alloc's of 50600822 bytes \n",
            "MEM: Free's : 26 free's  of 50600822 bytes \n",
            "MEM: Open's : 0 allocs  of 0 bytes \n",
            "MEM: Deinit ... Done !!!\n"
          ]
        }
      ],
      "source": [
        "!export SOC=am69a && \\\n",
        "export LD_LIBRARY_PATH=/content/edgeai-tidl-tools/tidl_tools && \\\n",
        "export TIDL_TOOLS_PATH=/content/edgeai-tidl-tools/tidl_tools && \\\n",
        "cd ./edgeai-tidl-tools/examples/osrt_python/tfl && \\\n",
        "python3 tflrt_delegate.py -m cl-tfl-mobilenet_v1_1.0_224"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 241
        },
        "id": "nmxBeqvcxacM",
        "outputId": "41d859b2-97dc-49d5-f051-b0e920ec0799"
      },
      "outputs": [
        {
          "data": {
            "image/jpeg": "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",
            "text/plain": [
              "<IPython.core.display.Image object>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "import glob\n",
        "from IPython.display import Image, display\n",
        "for imageName in glob.glob('/content/edgeai-tidl-tools/output_images/*.jpg'):\n",
        "    display(Image(filename=imageName))"
      ]
    }
  ],
  "metadata": {
    "colab": {
      "authorship_tag": "ABX9TyMqumtHNJ0xKzJPWcj91gGX",
      "include_colab_link": true,
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
